#coding utf-8
'''
autor
Luis Pereira nº12784
'''

import xlrd
import sqlite3

from xlrd import open_workbook

#abertura do ficheiro correspondente dos dados em formato .xls
wb = open_workbook('cna131fresultados.xls')

#vai buscar os dados celula a celula da tabela
values = []
for s in wb.sheets():
    print 'Sheet:', s.name
    for row in range(s.nrows):
        lista_interior = []
        for col in range(s.ncols):
            lista_interior.append(s.cell_value(row,col))
            values.append(lista_interior)

lista_unica = []

lista_unica = filter(lambda x: True if not (x[0] == u'(3)') else False, lista_unica)
lista_unica = filter(lambda x: True if not (x[0] == u'') else False, lista_unica)
lista_unica = filter(lambda x: True if not (x[0] == u'Nome da instituição') else False, lista_unica)

for x in lista_unica: print x

#criaçao da base de dados
con = sqlite3.connect("table.db")

cursor = con.cursor()
com = """drop table if exists institutos"""
cursor.execute(com)

comando = """drop table if exits institutos"""
cursor.execute(com)
con.commit()

com = """create table
        if not exists
        institutos
        (id INTEGER PRIMARY KEY AUTOINCREMENT,
         nome text)"""
cursor.execute(com)
con.commit()


com = """create table
         if not exists escolas
         (id INTEGER PRIMARY KEY AUTOINCREMENT,
          nome text,
          id_instituto number,
          foreign key (id_instituto) references instituto(id))"""
cursor.execute(com)
con.commit()


com = "insert into institutos (nome) values (?)"
cursor.executemany(com, lista_unica)
con.commit()

#filtros para remover caracteres indesejáveis
lista_unica = [(y,) for y in set([x[2].split('-')[0].rstrip() for x in values])]

lista_unica = [x[2].split('-') for x in values]
lista_unica = filter(lambda x: True if len(x) > 1 else False, lista_unica)

lista_unica = map(lambda x: x[0], x[1], lista_unica)

for instituto, escola in lista_unica:
        query = '''select * form institutos'''
          
        try:
            cursor.execute(query)
            cursor.commit()
            print cursor.fetchone()
        except:
            pass

con.close()
